Internet Protocol version 6 (IPv6) is a network layer protocol for packet-switched internetworks. It is designated as the successor of IPv4, the current version of the Internet Protocol, for general use on the Internet. The main change brought by IPv6 is a much larger address space that allows greater flexibility in assigning addresses. In particular, the IPv6 uses a 128-bit address that is divided into a prefix (most significant bits) and an interface identifier. In theory those two fields may vary in length. However, it is understood in practice that the prefix advertised to a host is typically 64 bits. The extended address length eliminates the need to use network address translation to avoid address exhaustion, and also simplifies aspects of address assignment and renumbering when changing providers. It was not the intention of IPv6 designers, however, to give permanent unique addresses to every individual and every computer.
The large number of addresses allows a hierarchical allocation of addresses that may make routing and renumbering simpler. With IPv4, complex classless inter-domain routing (CIDR) techniques were developed to make the best possible use of a restricted address space. Renumbering, when changing providers, can be a major effort with IPv4. With IPv6, however, renumbering becomes largely automatic, because the host identifiers are decoupled from the network provider identifier. Separate address spaces exist for Internet Service Providers (ISPs) and for hosts, which are “inefficient” in address space bits but are extremely efficient for operational issues such as changing service providers.
It is understood that there may be two defined mechanisms for allocating addresses in IPv6, including: (1) stateless address autoconfiguration and (2) stateful address autoconfiguration. In the stateless mechanism, a router can advertise a prefix for the link and each host on the link forms a unique interface identifier. Since the prefix is unique, appending a unique interface identifier can guarantee the uniqueness of the address. The interface identifier (IID) may therefore only need to be unique within a link since the prefix is globally unique.
Stateless address autoconfiguration exploits several other new features in IPv6, including link-local addresses, multicasting, the Neighbor Discovery (ND) protocol, and the ability to generate the interface identifier of an address from the underlying data link layer address. The general idea is to have a device generate a temporary address until it can determine the characteristics of the network it is on, and then create a permanent address that it can use based on that information.
The process can be summarized by the following:    (1) The device generates a link-local address using the prefix;    (2) The node tests to ensure that the address was generated is not already in use on the local network;    (3) Assuming the uniqueness test passes, the device assigns the link-local address to its IP interface for communication on the local network, but not on the wider Internet;    (4) The node next attempts to contact a local router for more information on continuing the configuration. This is done either by listening for Router Advertisement messages sent periodically by routers, or by sending a specific Router Solicitation to ask a router for information using the IPv6 Neighbor Discovery protocol; and    (5) The router provides direction to the node on how to proceed with the auto configuration.
While this IPv6 stateless autoconfiguration has a number of advantages, a problem arises when the network wants to perform an update of the domain name system (DNS) or when a home AAA (authentication, authorization, and accounting) requires a full IPv6 address in a Usage Date Record (UDR). The access terminal may not be timely in completing the stateless autoconfiguration to support these actions.